Skip to content

feat: 5 CI features — lock files, matrix comments, commit status, nightly scans, trends#81

Merged
KryptosAI merged 2 commits intomainfrom
feat/ci-features-v2
Mar 23, 2026
Merged

feat: 5 CI features — lock files, matrix comments, commit status, nightly scans, trends#81
KryptosAI merged 2 commits intomainfrom
feat/ci-features-v2

Conversation

@KryptosAI
Copy link
Copy Markdown
Owner

Summary

5 interconnected CI features that transform Observatory from a CLI tool into CI infrastructure teams depend on:

  • Lock filesmcp-observatory lock / lock verify. Like package-lock.json for MCP schemas. Snapshot, commit, verify in CI.
  • Matrix PR comments — Multi-server scan → one aggregated table with expandable details per failing server
  • Commit status checks — Green/red check mark on PR commits. Can be made a required check to block merges.
  • Nightly scans + auto-issuesci-report command + workflow template. Scheduled scans open GitHub issues on regressions.
  • Trend tracking — Run history in .mcp-observatory/history.json. PR comments show: A (95) ↗ was B (82)

Also adds 15 new telemetry enrichment fields across all features to track adoption, ecosystem health, and server reliability.

Stats

  • 15 new files, 13 modified
  • +2,339 lines
  • 51 new tests (287 total, all passing)
  • Build clean

New CLI commands

mcp-observatory lock                    # Snapshot MCP server schemas
mcp-observatory lock verify             # Verify schemas haven't drifted
mcp-observatory history                 # Show health score trends
mcp-observatory ci-report --format json # Generate CI report for GitHub issue creation

New Action inputs

targets: "path/to/mcp-config.json"  # Multi-server matrix scan
set-status: "true"                   # Commit status check (default: true)

Telemetry data collected

Field What it tells you
lockFileExists Lock file adoption rate
lockDriftDetected How often MCP servers break (publishable metric)
matrixServerCount How many MCP servers projects use
commitStatusSet Status check adoption (stickiness)
nightlyScan Power user metric
historyEntryCount Retention signal
trendDirection Are servers improving or degrading?

Test plan

  • npm run build — clean compile
  • npx vitest run — 287/287 tests pass (51 new)
  • Manual: mcp-observatory lock → creates lock.json
  • Manual: mcp-observatory history --json → shows entries
  • Manual: mcp-observatory ci-report --format json → valid JSON
  • CI validates on push

🤖 Generated with Claude Code

KryptosAI and others added 2 commits March 23, 2026 10:37
…htly scans, trends

Add 5 interconnected CI features that transform Observatory from a CLI tool
into CI infrastructure teams depend on:

1. **Lock files** (`mcp-observatory lock` / `lock verify`) — like package-lock.json
   for MCP. Snapshot server schemas, assert they haven't drifted in CI.

2. **Matrix PR comments** — multi-server scan results in one aggregated table
   with expandable details per failing server.

3. **Commit status checks** — green/red check mark on the PR commit SHA.
   Can be made a required check to block merges.

4. **Nightly scans with auto-issues** — `ci-report` command + workflow template.
   Scheduled scans that open GitHub issues when regressions are detected.

5. **Trend tracking** — run history stored in `.mcp-observatory/history.json`.
   Health trends shown in PR comments: "A (95) ↗ was B (82)".

Also adds 15 new telemetry enrichment fields across all features to track
adoption, ecosystem health, and server reliability metrics.

- 15 new files, 13 modified files
- 51 new tests (287 total, all passing)
- Action updated: targets input, set-status input, matrix scan support

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove unused CheckResult import (commit-status.ts)
- Remove unused defaultLockPath import (commands/lock.ts)
- Remove unnecessary type assertion (lockfile.ts)
- Fix Promise rejection type (ci-issue.ts)
- Remove unused beforeEach import (ci-issue.test.ts)
- Fix async function without await (ci-issue.test.ts)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@KryptosAI KryptosAI merged commit 4ac7735 into main Mar 23, 2026
1 of 2 checks passed
@github-actions
Copy link
Copy Markdown

🎉 This PR is included in version 0.20.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant